package com.ruoyi.ax.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import javax.validation.constraints.NotBlank;

/**
 * 商品管理对象 ax_good
 *
 * @author ruoyi
 * @date 2025-05-19
 */

public class AxGood extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /** 商品名称 */
    @NotBlank(message = "商品不能为空")
    @Excel(name = "商品名称")
    private String goodName;

    /** 商品编号 */
    @Excel(name = "商品编号")
    @NotBlank(message = "商品编号不能为空")
    private String goodNumber;

    /** 商品分类 */

    @NotBlank(message = "商品分类不能为空")
    private Long goodClassify;

    @Excel(name = "商品分类")
    private String  classifyName;

    /** 商品描述 */
    @Excel(name = "商品描述")
    private String goodDesc;

    /** 商品参数 */
    @Excel(name = "商品参数")
    private String goodParams;


    /** 商品价格 */
    @Excel(name = "商品价格")
    @NotBlank(message = "商品价格不能为空")
    private String goodPrice;

    /** 数量 */
    @Excel(name = "数量")
    @NotBlank(message = "数量不能为空")
    private Long goodCounts;

    /** 商品图片 */
    @Excel(name = "商品图片")
    private String goodImg;

    /** 详情图片 */
    @Excel(name = "详情图片")
    private String goodDetail;

    /** 商品星星数 */
    @Excel(name = "商品星星数")
    private String goodStars;

//    /** 每天抢购开始时间 */
//    @Excel(name = "每天抢购开始时间")
//    @NotBlank(message = "每天抢购开始时间不能为空")
//    private String dayBeginTime;
//
//    /** 每天抢购结束时间 */
//    @Excel(name = "每天抢购结束时间")
//    @NotBlank(message = "每天抢购结束时间不能为空")
//    private String dayEndTime;


    //    /** 场次开始年月日 */
    //@JsonFormat(pattern = "yyy-MM-dd")
    @Excel(name = "场次开始年月日")
    private String beginYmd;


    /** 场次结束年月日 */
  //  @JsonFormat(pattern = "yyy-MM-dd")
    @Excel(name = "场次结束年月日")
    private String endYmd;




    /** 每天上涨费率 */
    @Excel(name = "每天上涨费率")
    @NotBlank(message = "每天上涨费率不能为空")
    private String dayIncreaseRate;

    /** 今天价格 */
    @Excel(name = "今天价格")
    @NotBlank(message = "今天价格不能为空")
    private String todayPrice;

    /** 昨天价格 */
    @Excel(name = "昨天价格")
    private String yesterdayPrice;

    /** 前天价格 */
    @Excel(name = "前天价格")
    private String beforeYesterdayPrice;

    /** 上限价格 */
    @Excel(name = "上限价格即提货价")
    private String topPrice;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 出售方信息 */
    @Excel(name = "出售方信息")
    private String sellerInfo;

    /** 市场价 */
    @Excel(name = "市场价")
    private String marketPrice;

    /** 商品图 */
    @Excel(name = "商品图")
    private String markerImg;


    /** 商品库存 */
    @Excel(name = "商品库存")
    @NotBlank(message = "商品库存不能为空")
    private String todayGoodCount;

    /** 今日已售库存 */
    @Excel(name = "今日已售库存")
    private String todaySellGoodCount;

    /** 场次id */
    @NotBlank(message = "场次不能为空")
    @Excel(name = "场次id")
    private Long roundId;

    /** 商品类型（1：普通商品；2：津贴商品） */
    @Excel(name = "商品类型", readConverterExp = "1=：普通商品；2：津贴商品")
    private Integer goodType;

    /** 1:不限；2：余额；3：券 */
    private Integer ablePayType;

    /** 1:不限；2：只能在分类中显示 */
    private Integer isShowAll;


//    /** 委拍时间 */
//    @Excel(name = "委拍时间")
//    private String authorizationSellTime;

    private  AxRound axRound;

    private  long userAbleSellNum;


    public Integer getAblePayType() {
        return ablePayType;
    }

    public void setAblePayType(Integer ablePayType) {
        this.ablePayType = ablePayType;
    }

    public Integer getIsShowAll() {
        return isShowAll;
    }

    public void setIsShowAll(Integer isShowAll) {
        this.isShowAll = isShowAll;
    }

    public Integer getGoodType() {
        return goodType;
    }

    public void setGoodType(Integer goodType) {
        this.goodType = goodType;
    }

    public String getGoodParams() {
        return goodParams;
    }

    public void setGoodParams(String goodParams) {
        this.goodParams = goodParams;
    }

    public long getUserAbleSellNum() {
        return userAbleSellNum;
    }

    public void setUserAbleSellNum(long userAbleSellNum) {
        this.userAbleSellNum = userAbleSellNum;
    }

    public String getClassifyName() {
        return classifyName;
    }

    public void setClassifyName(String classifyName) {
        this.classifyName = classifyName;
    }

    public String getBeginYmd() {
        return beginYmd;
    }

    public void setBeginYmd(String beginYmd) {
        this.beginYmd = beginYmd;
    }

    public String getEndYmd() {
        return endYmd;
    }

    public void setEndYmd(String endYmd) {
        this.endYmd = endYmd;
    }

    public String getSellerInfo() {
        return sellerInfo;
    }

    public void setSellerInfo(String sellerInfo) {
        this.sellerInfo = sellerInfo;
    }

    public String getMarketPrice() {
        return marketPrice;
    }

    public void setMarketPrice(String marketPrice) {
        this.marketPrice = marketPrice;
    }

    public String getMarkerImg() {
        return markerImg;
    }

    public void setMarkerImg(String markerImg) {
        this.markerImg = markerImg;
    }

    public AxRound getAxRound() {
        return axRound;
    }

    public void setAxRound(AxRound axRound) {
        this.axRound = axRound;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getGoodName() {
        return goodName;
    }

    public void setGoodName(String goodName) {
        this.goodName = goodName;
    }

    public String getGoodNumber() {
        return goodNumber;
    }

    public void setGoodNumber(String goodNumber) {
        this.goodNumber = goodNumber;
    }

    public Long getGoodClassify() {
        return goodClassify;
    }

    public void setGoodClassify(Long goodClassify) {
        this.goodClassify = goodClassify;
    }

    public String getGoodDesc() {
        return goodDesc;
    }

    public void setGoodDesc(String goodDesc) {
        this.goodDesc = goodDesc;
    }

    public String getGoodPrice() {
        return goodPrice;
    }

    public void setGoodPrice(String goodPrice) {
        this.goodPrice = goodPrice;
    }

    public Long getGoodCounts() {
        return goodCounts;
    }

    public void setGoodCounts(Long goodCounts) {
        this.goodCounts = goodCounts;
    }

    public String getGoodImg() {
        return goodImg;
    }

    public void setGoodImg(String goodImg) {
        this.goodImg = goodImg;
    }

    public String getGoodDetail() {
        return goodDetail;
    }

    public void setGoodDetail(String goodDetail) {
        this.goodDetail = goodDetail;
    }

    public String getGoodStars() {
        return goodStars;
    }

    public void setGoodStars(String goodStars) {
        this.goodStars = goodStars;
    }

//    public String getDayBeginTime() {
//        return dayBeginTime;
//    }
//
//    public void setDayBeginTime(String dayBeginTime) {
//        this.dayBeginTime = dayBeginTime;
//    }
//
//    public String getDayEndTime() {
//        return dayEndTime;
//    }
//
//    public void setDayEndTime(String dayEndTime) {
//        this.dayEndTime = dayEndTime;
//    }

    public String getDayIncreaseRate() {
        return dayIncreaseRate;
    }

    public void setDayIncreaseRate(String dayIncreaseRate) {
        this.dayIncreaseRate = dayIncreaseRate;
    }

    public String getTodayPrice() {
        return todayPrice;
    }

    public void setTodayPrice(String todayPrice) {
        this.todayPrice = todayPrice;
    }

    public String getYesterdayPrice() {
        return yesterdayPrice;
    }

    public void setYesterdayPrice(String yesterdayPrice) {
        this.yesterdayPrice = yesterdayPrice;
    }

    public String getBeforeYesterdayPrice() {
        return beforeYesterdayPrice;
    }

    public void setBeforeYesterdayPrice(String beforeYesterdayPrice) {
        this.beforeYesterdayPrice = beforeYesterdayPrice;
    }

    public String getTopPrice() {
        return topPrice;
    }

    public void setTopPrice(String topPrice) {
        this.topPrice = topPrice;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getTodayGoodCount() {
        return todayGoodCount;
    }

    public void setTodayGoodCount(String todayGoodCount) {
        this.todayGoodCount = todayGoodCount;
    }

    public String getTodaySellGoodCount() {
        return todaySellGoodCount;
    }

    public void setTodaySellGoodCount(String todaySellGoodCount) {
        this.todaySellGoodCount = todaySellGoodCount;
    }

    public Long getRoundId() {
        return roundId;
    }

    public void setRoundId(Long roundId) {
        this.roundId = roundId;
    }

//    public String getAuthorizationSellTime() {
//        return authorizationSellTime;
//    }
//
//    public void setAuthorizationSellTime(String authorizationSellTime) {
//        this.authorizationSellTime = authorizationSellTime;
//    }
}
